package com.skt.utils;

public final class HtmlUtils {
    private HtmlUtils() {
        // 工具类，禁止实例化
    }

    /**
     * escapeHtml，用于将字符串中的 HTML 特殊字符转义为对应的 HTML 实体，以防止 XSS（跨站脚本）攻击。
     * @param s
     * @return
     */
    public static String escapeHtml(String s) {
        if (s == null) {
            return null;
        }
        return s.replace("&", "&amp;")
                .replace("<", "&lt;")
                .replace(">", "&gt;")
                .replace("\"", "&quot;")
                .replace("'", "&#39;");
    }
}

/**
 * 原字符	转义后	作用
 * &	    &amp;	防止解析为实体开头（如 &lt;）
 * <	    &lt;	防止被当作 HTML 标签开始
 * >	    &gt;	配合 < 防止标签闭合
 * "	    &quot;	防止在属性中闭合引号（如 <input value="...">）
 * '	    &#39;	防止在单引号属性中闭合（如 <a title='...'>）
 */